package com.boost.socialNetwork.client;

import java.util.List;
import com.google.gwt.user.client.rpc.AsyncCallback;

public interface UserServiceAsync {
	void authenticate(String userName, String password, AsyncCallback<String> callback) throws IllegalArgumentException;
	void retrieveIdeas(String key, AsyncCallback<List<String>> callback) throws IllegalArgumentException;
	void register(String userName, String password, String firstName, String lastName, String country, String email, AsyncCallback<String> callback)throws IllegalArgumentException;
	void createIdea(String userKey, String title, String content, AsyncCallback<String> callback) throws IllegalArgumentException;
	void deleteIdea(String ideaKey, AsyncCallback<String> callback) throws IllegalArgumentException;
	void commentOnIdea(String ideaKey, String userKey, String comment, AsyncCallback<String> callback) throws IllegalArgumentException;
	void retrieveOtherIdeas(String key, AsyncCallback<List<String>> callback) throws IllegalArgumentException;
	void retrieveComments(String ideaKey, AsyncCallback<List<String>> callback) throws IllegalArgumentException;
	void getConnected(AsyncCallback<String> callback);
	void getUserName(AsyncCallback<String> callback);
	void logout(AsyncCallback<String> callback);
	void getCurrentPage(AsyncCallback<String> callback);
	void putCurrentPage(String page, AsyncCallback<String> callback);
}
